Application State Change Notification Program and Method Therefor

ABSTRACT

There is provided an app management software  16  for cooperating with a bandwidth control system  2  for dynamically changing a communication bandwidth of the mobile information terminal  3  for each type of application  3   a  which is installed on the mobile information terminal. This software comprises: a module  22  for causing the mobile information terminal  3  to detect a type of application  3   a  which communicates from the mobile information terminal  3 ; a module  24  for causing the mobile information terminal  3  to obtain mobile information terminal identification information for uniquely identifying the mobile information terminal on a communication network; a module  26  for causing the mobile information terminal  3  to send the type of application as well as information for identifying the mobile information terminal to the bandwidth control system; and a display section  28  for causing the mobile information terminal  3  to receive a communication status for each application from the bandwidth control system and displaying the communication status on a display of the mobile information terminal.

PRIORITY

The present application is a continuation application to U.S.application Ser. No. 15/021,151, filed on Jun. 16, 2016, which claimspriority to International Patent Application No. PCT/JP2014/074148 filedSep. 11, 2014, which claims priority to and the benefit of JapanesePatent Application No. 2013-188738 filed Sep. 11, 2013, the disclosuresof which are incorporated herein by reference.

FIELD OF THE INVENTION

The present invention relates to a network connection system used in amobile network, and particularly relates to an application status changenotification program and a method thereof for specifically performing apreferential control/bandwidth control of a connection communicationbandwidth of a specific application installed on a terminal device on amobile network.

BACKGROUND OF THE INVENTION

In recent years, due to the improved performance of mobile informationterminals, so-called smartphones, their users have been able to freelychoose and install necessary application software. Here, in many cases,the application software is configured to connect with a specificservice server on the Internet, and receive various information fromthis service server to thereby present information required by the useron the smartphone.

Here, in a typical network connection configuration, IP packets from theapplication software are transferred on a best-effort basis, and it isimpossible to preferentially control the IP packets by application.Therefore, it is impossible to, for example, preferentially controlcommunication of audio-information-handling application software, suchas one for IP phones, over communication of other application software,causing dissatisfaction among smartphone users.

While it is possible to preset an IP address of a specific smartphone ata router to preferentially control connections from the smartphone, inthat case, connections of not only an IP phone, but also all otherapplications of that smartphone will be preferentially controlled. Also,while it is possible to preferentially control connections only to aspecific service server, recent IP phone services are provided through aplurality of collaborating servers, and therefore, it is difficult toidentify all IP addresses of these plurality of servers and preset themat the router.

In other words, in the network connection system of conventional mobilecarriers, it has been difficult to address needs for providing userswith high-quality phone services by, for example, performing apreferential control/bandwidth control on the IP packets of IP phoneapplications only.

Considering the above situation, the purpose of the present invention isto provide an application status change notification program and amethod thereof capable of providing a high-quality service with a verysimple configuration even when a plurality of different applications areexecuted on a mobile information terminal.

SUMMARY OF THE INVENTION

In order to achieve the above object, according to a principal aspect ofthe present invention, there is provided an application status changenotification program stored in a storage medium for causing a mobileinformation communication terminal to perform the following processing,wherein this application status change notification program cooperateswith a bandwidth control system for dynamically changing a communicationbandwidth of the mobile information communication terminal for each typeof an application which is installed on the mobile informationcommunication terminal, said program comprising: a section for causingthe mobile information terminal to detect a type of application whichcommunicates from the mobile information terminal; a section for causingthe mobile information terminal to obtain mobile information terminalidentification information for uniquely identifying the mobileinformation terminal on a communication network; a section for causingthe mobile information terminal to send the type of application as wellas information for identifying the mobile information terminal to thebandwidth control system; and a section for causing the mobileinformation terminal to receive a communication status for eachapplication from the bandwidth control system and displaying thecommunication status on a display of the mobile information terminal.

According to one embodiment of the present invention, the section (1)further comprises a section for causing the mobile information terminalto detect a type of application which is displayed as active on themobile information terminal.

According to another embodiment, this program further comprises asection for causing the mobile information terminal to detect ageographical location of the mobile information terminal; and a sectionfor causing the mobile information terminal to send the geographicallocation of the mobile information terminal as well as the informationfor identifying the mobile information terminal to the bandwidth controlsystem.

According to another embodiment, the section (1) comprises a section forcausing the mobile information terminal to detect a process ID of anapplication which is activated on the mobile information terminal; thesection (3) comprises a section for causing the mobile informationterminal to include in a packet to be sent from the application, theprocess ID or a specific tag different for each process, and send thepacket as well as the information for identifying the mobile informationterminal to the bandwidth control system.

According to another embodiment, the program further comprises a sectionfor causing the mobile information terminal to detect an IP addressand/or a port number of an application which is activated on the mobileinformation terminal, wherein the section (4) causes the mobileinformation terminal to include in a packet to be sent from theapplication, the IP address and/or the port number, and send the packetas well as the information for identifying the mobile informationterminal to the bandwidth control system.

According to yet another embodiment, this program further comprises asection for causing the mobile information terminal to detect ageographical location of the mobile information terminal; and a sectionfor causing the mobile information terminal to send the geographicallocation of the mobile information terminal as well as the informationfor identifying the mobile information terminal to the bandwidth controlsystem.

According to one embodiment, the bandwidth control system comprises anapplication connection environment management server provided on theInternet, wherein the application connection environment managementserver detects a type of application which is active on a specificmobile information terminal, and sends a connection policy according tothe type of application as well as the information for identifying themobile information terminal to a bandwidth control router, wherein thebandwidth control router transfers the packet from the identified mobileinformation terminal either with a preferential control or apredetermined preferred communication bandwidth according to theconnection policy received from the application connection environmentmanagement server.

In this case, the application connection environment management servermay look up a table, which table storing therein types of applicationsrequiring a preferential connection and a bandwidth control, and theapplications' respective connection policies, retrieve a connectionpolicy according to a type of application software from the table, andsend the connection policy to the bandwidth control router. Also, theconnection policy preferably includes a different communication priorityor communication bandwidth setting per specific application. Further,the application status change notification program preferably comprisesa data communication amount recording section for monitoring a datacommunication amount by the bandwidth control router for each mobileinformation terminal and recording a downloaded data communicationamount for each application according to the type of application whichis active on the mobile information terminal.

According to a second principal aspect of the present invention, thereis provided an application status change notification method stored in astorage medium for causing a mobile information communication terminalto perform the following processing, wherein an application statuschange notification program cooperates with a bandwidth control systemfor dynamically changing a communication bandwidth of the mobileinformation communication terminal for each type of an application whichis installed on the mobile information communication terminal, themethod comprising the steps of:

(1) causing the mobile information terminal to detect a type ofapplication which communicates from the mobile information terminal;(2) causing the mobile information terminal to obtain mobile informationterminal identification information for uniquely identifying the mobileinformation terminal on a communication network;(3) causing the mobile information terminal to send the type ofapplication and information for identifying the mobile informationterminal to the bandwidth control system; and(4) causing the mobile information terminal to receive a communicationstatus for each application from the bandwidth control system anddisplaying the communication status on a display of the mobileinformation terminal.

Characteristics of the present invention other than the claimedcharacteristics will be disclosed in the following description of thepreferred embodiments and the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an overall schematic structural view showing a datacommunication environment through a mobile network;

FIG. 2 is an overall schematic structural view showing a datacommunication environment according to one embodiment of the presentinvention;

FIG. 3 is a schematic structural view showing app management softwareaccording to the one embodiment of the present invention;

FIG. 4 is a flow chart showing processing steps of the app managementsoftware according to the one embodiment of the present invention;

FIG. 5 is a schematic structural view showing an app-infrastructurecoordination server according to the one embodiment of the presentinvention;

FIG. 6 is a flow chart showing processing steps of theapp-infrastructure coordination server according to the one embodimentof the present invention;

FIG. 7 is a conceptual diagram describing a bandwidth control andconnection policy according to the one embodiment of the presentinvention;

FIG. 8 is a conceptual diagram describing a bandwidth control andconnection policy according to the one embodiment of the presentinvention;

FIG. 9 is a conceptual diagram describing a bandwidth control andconnection policy according to the one embodiment of the presentinvention;

FIG. 10 is a conceptual diagram describing a bandwidth control andconnection policy according to the one embodiment of the presentinvention;

FIG. 11 is a flow chart showing processing steps of theapp-infrastructure coordination server according to the one embodimentof the present invention;

FIG. 12 is a diagram showing an example display screen of a mobileinformation terminal according to the one embodiment of the presentinvention;

FIG. 13 is a diagram showing an example display screen of the mobileinformation terminal according to the one embodiment of the presentinvention;

FIG. 14 is a flow chart showing billing processing steps of a billingserver according to the one embodiment of the present invention; and

FIG. 15 is a schematic diagram showing a bandwidth control schemeaccording to another embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

In this embodiment, an example is described wherein a program of thepresent invention is provided by a Mobile Virtual Network Operator (MVNOoperator).

An MVNO operator refers to an operator which does not own a physicalmobile network, but rents it from a Mobile Network Operator (MNOoperator), which actually owns the mobile network, to thereby provide acommunication service as said operator's own house brand.

Before describing a characteristic configuration of the presentinvention, for purposes of understanding the present invention, anexample of data communication environment via a mobile network will befirst described with reference to FIG. 1.

(Data Communication Environment as a Prerequisite of the PresentInvention)

Indicated as 1 in FIG. 1 is a mobile network of an MNO operator, andindicated as 2 is a network connection system of an MVNO operator.

A mobile information terminal 3 of a user, who subscribes a service ofthe MVNO operator, is connected to a mobile network 5 of the MNOoperator through a base station 4; routed from a service gateway (SGW) 6of the MNO operator via a packet data network gateway (PGW) 7 of theMVNO operator to a network connection system 2 of the MVNO operator; andthen, connected to various servers 10 a-10 e on the Internet by a router8 provided in this network connection system 2. Between the servicegateway 6 on the MVO operator side and the packet data network gateway 7on the MVNO operator side, a communication bandwidth of, for example,100 Mbps is reserved and configured according to a contract betweenthese MVO and MVNO operators.

The user's mobile information terminal 3 is a so-called smartphone, andhas a CPU, a RAM and a ROM (not shown). In the ROM, operating systemsoftware program (hereinafter referred to as “OS”) such as iOS (productname) or Android (product name) and various application softwareprograms (hereinafter referred to as “applications”) 3 a-3 e areinstalled, and data used by the OS and the applications 3 a-3 e isstored.

These applications 3 a-3 e installed in the user's mobile informationterminal 3 include movie software 3 a, an IP phone 3 b, an SNS 3 c, abrowser 3 d and a mailer 3 e, and the user may additionally and freelyinstall any application based on the user's preferences. Theseapplications 3 a-3 e on the mobile information terminal 3 are called,deployed and executed on the RAM by the CPU as needed, allowingconnections with various servers 10 a-10 e on the Internet 9, via theMNO operator's mobile network 5 and the MVNO operator's networkconnection system 2, in order to communicate required data with theservers 10 a-10 e and perform various processes.

As shown in this figure, when executed, the applications 3 a-3 e of themobile information terminal are connected with a plurality of servers 10a-10 e each having a different IP address. In this case, the router 8provided in the network connection system 2 is adapted to transferpackets 3 a-3 e from the mobile information terminal 3 to theirdestination servers 10 a-10 e based on an IP address included in headerinformation of the packets.

This router 8 is provided with a bandwidth control function 12 forcontrolling a transfer order, a transfer speed and the like of passingpackets based on an IP address of the mobile information terminal 3.This bandwidth control function is also called a QoS function, and isroughly categorized into “preferential control” and “bandwidth control.”When applied to the present invention, the preferential control schemedifferentiate application types for packets flowing on networks based ona source IP address, and assign an absolute priority to eachapplication; whereas the bandwidth control function assigns an upperlimit of a communication bandwidth usable for each application.

According to this bandwidth control, packets of higher-priorityapplications are always preferentially output or allowed to use lagercommunication bandwidths to thereby enable stable packet transfer forhigher-priority services.

In these QoS controls, it is important to accurately identify a type ofapplication from received IP packets. In general, movie or audio packetsfrom movie software, IP phone software or the like need to be eithertransferred preferentially or transferred in a broad communicationbandwidth in order to maintain their quality. In this case, the router 8needs to identify, from numerous IP packets received, only the ones frommovie software, IP phone software or the like. This IP packetidentification is performed generally based on an IP address of a sourceor a destination, or a transfer port number.

For example, if a specific terminal device such as a dedicated IP phonedevice or a VoIP gateway is used with a fixed IP address, the IP addressof the source terminal device may be specified to thereby ensureidentification of packets from that source.

However, this method may not be utilized in the case of theafore-mentioned mobile information terminal 3, which may run a pluralityof apps with different priorities on the same terminal. That is, whenattempting to identify packets solely based on an IP address,communication via the same IP address with low priorities will be alsopreferentially controlled or bandwidth-controlled. Also, in anenvironment where an IP address is automatically allocated to a mobileinformation terminal with the DHCP, terminals cannot be identified basedon their IP addresses.

On the other hand, it may be contemplated to identify application typesbased on IP addresses of the destination servers 10 a-10 e. For example,if packets from the mobile information terminal 3 are always connectedto a specific IP phone server 10 b, service types for those packets maybe identified with certainty by specifying an IP address of the IP phoneserver 10 b. However, in the case of some recent applications,connections are made to many different servers from single application,therefore, making it difficult or practically impossible to specify allthe connected servers.

As previously discussed, the present invention is provided consideringthe above situation.

(Characteristic Structure of the Present Invention)

A characteristic structure of the present invention will be describedbelow with reference to FIGS. 2-14, using an example applied to themobile communication environment of FIG. 1 discussed above. Note thatthe same reference alphanumerals are used for elements similar to onesin FIG. 1, and descriptions for those like elements will be omitted.

As shown in FIG. 2, the present embodiment is characterized in that theMVNO operator's system 2 comprises a bandwidth control router 8, whichbasically has similar structure and functions to ones of the router 8 ofFIG. 1, as well as an app-infrastructure coordination server 14compatible with functions of the present invention (“applicationconnection environment management server” of the present invention); aline status/usage sensing server 15 for monitoring line market status; abilling server 17 for managing billing according to a usage bandwidth; acompression conversion proxy server 19; and an app management software16 installed on the mobile information terminal 3. Note that, in thepresent invention, the system 2 on the MVNO operator side, including theabove bandwidth control router 8, is referred to as a “bandwidth controlsystem.”

First, the app management software 16 is installed on the mobileinformation terminal 3. This application management software 16 sendsinformation about types of applications 3 a-3 e which are activated onthe mobile information terminal 3 as well as an IP address and a portnumber for identifying the mobile information terminal 3 to theapp-infrastructure coordination server 14.

The app-infrastructure coordination server 14, which is provided in theMVNO operator's system 2 and designed to cooperate with the appmanagement software 16 installed on the mobile information terminal 3,comprises functions to detect types of applications 3 a-3 e active onthe mobile information terminal 3, and set a connection policy accordingto the types of applications 3 a-3 e as well as the IP address and theport number for identifying the mobile information terminal 3 onto thebandwidth control router 8.

The bandwidth control router 8 transfers packets from the identifiedmobile information terminal 3 either with a preferential control or apredetermined preferred communication bandwidth according to theconnection policy received from the app-infrastructure coordinationserver 14. As a result, communication will be performed with thepreferential control or in the preferred communication bandwidthaccording to the types of applications 3 a-3 e.

The line status/usage monitoring server 15 monitors packets passing thepacket gateway 7 (PGW) provided in the system 2 on the MVNO operatorside, outputs a data communication amount in association with the IPaddress and the port number of the mobile information terminal 3, andnotifies app-infrastructure coordination server 14.

A structure of the app-infrastructure coordination server 14 and the appmanagement software 16 of the present invention will be described indetail below.

(App Management Software)

FIG. 3 is a schematic diagram of a user's mobile information terminal 3.

Installed in this mobile information terminal 3 are an OS (not shown), aplurality of different applications 3 a-3 e and an app managementsoftware 16 of the present invention.

This app management software 16 comprises an app detecting module 22 forcooperating with the OS (not shown) of the mobile information terminal 3and detecting that a specific application is launched and becomesactive; a location detecting module 23 for cooperating with a locationdetecting device 21 such as a GPS provided in this mobile informationterminal 3, and detecting a geographical location of this mobileinformation terminal 3; a terminal IP address and port number detectingmodule 24 for cooperating the OS and detecting an IP address and a portnumber of this mobile information terminal 3; an app parameter detectingsection 25 for detecting parameters of applications 3 a-3 e; an activeapp status change determination module 26 for determining any statuschange of active apps based on the detection results of the detectingmodules 22-25; a server communication module 27 for sending the statuschange determined by the active app status change determination module26 to the app-infrastructure coordination server 14; and an appcommunication status display section 28 for displaying on a displayscreen 29 of this mobile information terminal 3, a communication statusof each active application of this mobile information terminal 3, and acommunication status and a line congestion status for each app receivedfrom the server 14. In this embodiment, this app management software 16is implemented in the form of API for the OS.

Basic operation of the app management software 16 will be discussedbelow with reference to FIG. 4. Note that reference alphanumerals S1-S6in the figure are for referencing processes and correspond with StepsS1-S6 in the following discussion, respectively.

First, upon activation of this management software 16, the appactivation detecting module 22 launches and monitors activation of anyof the applications 3 a-3 e installed on the mobile information terminal3 on the display screen 29 of this mobile information terminal 3 (asshown as Step S1 in the figure). As used in this embodiment, the term“active” means that an activated application is displayed in foregroundon the display screen 29 of the mobile information terminal 3 and itgained the user's attention. Once an application is activated, this appactivation detecting module 22 monitors this application at a certaintime interval to determine if the application is active, and if anotherapplication launched and became active. If a particular application isactive, this app activation detecting module 22 outputs an applicationname (a unique name of the application output by the OS) and sends it tothe active app status change determination module 26.

This active app status change determination module 26 determines that an“active app status change” occurred (Step S2) when any application namereceived from the app activation detecting module 22 changes, that is,when any active application changes.

On the other hand, the location detecting module 23 monitors signalsfrom the location detecting device 21 (Step S3) and sends a currentlocation coordinate of the mobile information terminal 3 to the activeapp status change determination module 26. This active app status changedetermination module 26 determines that an “active app status change”occurred (Step S2) when the location coordinate information receivedfrom the location detecting module changes by a certain value or more,or matches a certain condition.

In addition, the terminal IP address and port number detecting module 24coordinates with a communication module 30 of the mobile informationterminal 3 to monitor a current IP address and a currently-usedcommunication port number of this mobile information terminal 3 (StepS4), and sends the obtained information to the active app status changedetermination module 26. This active app status change determinationmodule 26 determines that an “active app status change” occurred (StepS2) when the IP address or the port name received from the terminal IPaddress and port number detecting module changes.

Further, the app parameter acquisition module 25 coordinates with aparticular application to obtain parameters associated with thatapplication (Step S5), and sends the parameters to the active app statuschange determination module 26. Example parameters include a connectiondestination URL for a browser, or a connection destination phone numberfor an IP phone, for example. The active app status change determinationmodule 26 determines that an “active app status change” occurred (StepS2) when the parameters change.

As discussed above, the active app status change determination module 26determines whether any “active app status change” occurs based on theinformation received from the respective modules 22-25, and if itdetermines that the status change occurred, it sends the determinationresult to the app-infrastructure coordination server 14 (Step S6).

At this time, the information sent to the app-infrastructurecoordination server 14 includes, for example, an app name, a domain namebase, a coordinate location, app parameters, an IP address and a portnumber in use for the mobile information terminal, etc. This informationis sent out only when the status change occurrence is determined inorder to reserve a line usage bandwidth.

(App-Infrastructure Coordination Server)

FIG. 5 is a schematic diagram showing a structure of theapp-infrastructure coordination server 14 for receiving the above statuschange information.

This app-infrastructure coordination server 14 comprises an OS (notshown), a RAM and various input/output interfaces as well as the datastorage section 30 and a program storage section 31, both of which areshown in this figure.

Stored in the data storage section 30 are user information 32,application information 33 under the bandwidth control of the presentsystem, and a user/app-based bandwidth control and connection policy 34configured based on the status change determination information of themobile information terminal.

The program storage section 31 comprises an app status changeinformation acquisition module 36 for receiving, from the mobileinformation terminal 3, communication status change information of appson this terminal 3; a policy setup section 38 for obtaining theuser/app-based communication bandwidth control and connection policy 34based on the information obtained by the app status change informationacquisition module 36, and sending the user/app-based communicationbandwidth control and connection policy 34 to the communicationbandwidth control router 8; a data communication amount recordingsection 39 for obtaining a communication amount of the terminal 3 fromthe line status/usage sensing server 15 and storing the communicationamount in the data storage section 30 in association with a user/app; acommunication upper limit determination section 40 for applying thecommunication amount for each app to the user/app-based communicationbandwidth control and connection policy, and determining a communicationupper limit; a data communication status display processing section 41for generating an interface to display data communication status to themobile information terminal 3; an app management software communicationmodule 42 for communicating with the server communication module 27 ofthe app management software 16 in order to coordinate with the appmanagement software 16; and a billing processing module 43 forprocessing billing according to a usage bandwidth and communicationamount for each user application.

Basic operation of the app-infrastructure coordination server 14 will bediscussed below with reference to FIG. 6. Reference alphanumerals S7-S17in the figures correspond with Step S7-Step S17 in the followingdiscussion, respectively.

In the app-infrastructure coordination server 14, communication with themobile information terminal 3 is performed by the app managementsoftware communication module 42 communicating with the servercommunication module 27.

First, in Step S7 of FIG. 6, the app status change informationacquisition module 36 receives status change information sent from theapp management software 16 of the mobile information terminal 3 throughthe app management software communication module 42. As previouslydiscussed, this status information includes an app name of anapplication active on the user's mobile information terminal 3, a domainname base, a coordinate location, app parameters, an IP address and aport number in use for the mobile information terminal 3. Next in StepS8, the communication bandwidth control policy setup section 38 sets acontrol bandwidth connection policy for each user/app based on thestatus change information.

Here, the user information 32 (FIG. 5) refers to information for linkingthe mobile information terminal 3 and user attributes and such userinformation stores therein the IP address and the port number receivedfrom the terminal 3, and may include information pertaining to if theuser has a particular contract on communication bandwidth. Also, if thatparticular contract is for fee, billing processing for the user will beperformed by the billing server 17 via the billing processing module 43as will be discussed below. The communication bandwidth control policysetup section 38 recognizes the status change information received fromthe terminal 3 via the user information 32 so that the status changeinformation will be linked to a particular user.

In addition, the application information 33 (FIG. 5) stores thereinidentification information of specific applications for which thebandwidth control connection is performed in the present system. In thisembodiment, only some of applications installed on the mobileinformation terminal 3 are identified for the bandwidth controlconnection, and names of those applications subject to the bandwidthcontrol connection are registered in the app information 33. In thisembodiment example, in order that respective software of web browsers,YouTube®, Gmail®, Facebook®, Twitter®, Yahoo®, 050 (IP phone) may berecognized, their unique information is stored in the app information33. The communication bandwidth control policy setup section 38 isadapted to recognize applications subject to the bandwidth controlconnection based on the app information 33.

The communication bandwidth control policy setup section 38 looks up thestatus change information, the user information 32 and app information33 to thereby identify a connection policy for each user/app from theuser/app-based communication bandwidth control and connection policy 34,and sets the identified policy to the bandwidth control router 8 (thecompression conversion proxy 19 for a compression rate (Settings of thecompression conversion proxy 19 are included in the bandwidth controlsettings and their descriptions are omitted here.)). A specificconnection policy 34 in this embodiment example includes a communicationbandwidth 34 a, a data compression rate 34 b, time frames available forcommunication 34 c, locations available for communication 34 d, a datacommunication upper limit 34 e and a remaining data communication amount34 f.

FIGS. 7-10 are schematic diagrams illustrating a concept of connectionpolicy set in the present embodiment.

FIG. 7 is a conceptual diagram showing an example policy setting onuser/apps and line speeds (communication bandwidths) (34 a). A defaultconnection speed (connection bandwidth) for all applications other thanthe specific applications discussed above is set to 100 kbps, and an LTEspeed is set for the specific applications. Also in this examplesetting, a mobile connection is not allowed for some applications andinstead only a Wi-Fi connection is permitted.

FIG. 8 is a conceptual diagram showing an example policy setting onuser/apps and remaining download amounts available for each application(34 e, 34 f). A default downloadable amount is set to unlimited, but itis set to 100 MB for the specific applications with the LTE speedconnection setting. In this embodiment, the user can optionally increasethis upper limit setting, in which case, the billing server 17 isconfigured so that it may charge the user for an excess usage amountabove the default setting. Note that the billing method is not limitedto the above and various methods may be employed.

The line speed (bandwidth control) and the remaining download amountdescribed above mainly constitute the connection policy, but thisembodiment allows setting of various policies (the data compression rate34 b, the time frames available for communication 34 c and the locationsavailable for communication 34 d) in addition to the above line speeds.FIG. 9 shows its example comprehensively.

As shown in this FIG. 9, default (indicated with “all”) values are setto 100 kbps, a “medium” compression rate, 100 MB of remaining downloadamount, both available time frames and locations unspecified, and 100 MBof monthly usage. Also, values for the specific applications are set asshown in this table.

Further in this example, as shown in a conceptual diagram of FIG. 10, abandwidth control based on application-specific parameters may be alsoperformed. In this example, one line speed is defined for eachconnection destination URL of a browser. This information is also storedin the data storage section 30 as the connection policy 34.

As shown in FIG. 6, when setting such a policy 34 in the bandwidthcontrol router 8, this server 14 receives status change signals that theapp status change information acquisition module 36 received from theapp management software 16 (Step S7), identifies a user from an IPaddress and an port number, applies an app name and a user name to theuser information 32, the app information 33 and the policy 34, andidentifies a connection policy for the application (Step S8).

Specifically, the default connection policy is initially set asdiscussed above, wherein the communication speed and the communicationamount upper limit are set to 100 kbps and unlimited, respectively,regardless of location and time. However, if it is detected that YouTubeis launched and activated on the mobile information terminal 3, theconnection policy specified for YouTube in FIG. 9 is identified (StepS8).

Next, the communication bandwidth control policy setup section 38 checksother conditions, that is, a remaining communication amount in thisembodiment (Step S9), and if the conditions are met, sends theconnection policy as determined above to the bandwidth control router 8to set the policy (Step S10). This policy is set to the bandwidthcontrol router 8 together with information for identifying the mobileinformation terminal 3, that is, the IP address and the port number inthis example.

Based on the IP address and the port number of the packet sourceincluded in the packet, this bandwidth control router 8 performs thebandwidth control according to a corresponding connection policy. Thisbandwidth control router 8 will collectively perform the bandwidthcontrol on all packets from the particular mobile information terminal3, wherein a bandwidth with a speed matching the type of applicationwill be reserved since the bandwidth control is based on an activeapplication (YouTube in this case) in use by the user.

In this case, a time lag between the time the user switches activeapplications on the mobile information terminal 3 and the time thebandwidth control is set becomes important, wherein the time lag underan environment of this embodiment is less than 10 sec, which isconsidered to be unnoticeable by the user because a new bandwidth is setwhile an application is being loaded.

(Operation During Bandwidth-Controlled Communication)

Next, operation of the app-infrastructure coordination server 14 duringthe bandwidth-controlled communication will be discussed below withreference to FIG. 11 and later.

During communication, the data communication amount recording section 39(shown in FIG. 5) of this server 14 monitors the communication statusthrough the line status/usage monitoring server 15, and records thecommunication amount per unit time for the particular user's mobileinformation terminal 3 in association with an application incommunication at that moment (Steps S11, S12). As shown in the schematicdiagram of FIG. 8, this recording is executed by appropriately updatingthe remaining communication amount (currently 50 MB in the YouTubeexample) of the user/app-based communication bandwidth control andconnection policy 34.

Next, the communication upper limit determination section 40 determineswhether the remaining communication amount of the user/app-basedcommunication bandwidth control and connection policy 34 has reached theupper limit (1 GB in the YouTube example) (Step S13), and thecommunication upper limit determination section 40 continues the currentcommunication if the answer is “No”, and resets the bandwidth control tothe default values and sets the default values to the control bandwidthserver if the answer is “Yes.” (Step S14). Thus, preferential bandwidthcontrol (75 Mbps in this example) of the application (YouTube in thisexample) ends, and its communication will be limited to the initialsetting (default) line speed of 100 kbps.

Note that, when one application is in communication and anotherapplication also becomes active, operations shown in FIG. 4 and FIG. 6are executed, and bandwidth control adapted to respective applicationswill be performed.

(Displaying Line Status)

Also, in this embodiment, the data communication status displayprocessing section 41 shown in FIG. 5 comprises a function to present adata communication amount and a line congestion level for each app onthe user's mobile information terminal 3. Specifically, this datacommunication status display processing section 41 sends time-seriesdata for each app to be presented to the user in response to a requestfrom the user's mobile information terminal 3. This data is displayed ona screen as shown in FIG. 12 and FIG. 13 by the app-based communicationstatus display section 28 provided in the app management software of theuser's mobile information terminal 3.

FIG. 12 illustrates an interface showing the line congestion level foreach app. According to this figure, one can see that a web connection iscongested, but YouTube connection still has some leeway. By seeing suchan interface, the user may learn which software allows pleasantcommunication.

FIG. 13 illustrates a user interface for setting a connection policy foreach app. From this screen, the user may set the connection speed, thedata compression rate and the remaining download amount for each app.That is, setting may be performed by selecting and setting each settingvalue and pushing an OK button on this screen. The set values arewritten and updated in the data storage section 30 (34) by thecommunication bandwidth control policy setup section 38 of theapp-infrastructure coordination server 14.

(Billing Processing)

In this embodiment, the billing server 17 is configured to performbilling according to the user's data usage and usage bandwidth.

In this case, as shown in a flow chart of FIG. 14, the billing server 17coordinates with the billing processing module 43 of theapp-infrastructure coordination server 14 to search for theuser/app-based bandwidth control and connection policy 34 in the datastorage section 30, and obtains registered communication bandwidths andusage amount (remaining amount) (S15). This billing processing module 43sends the information as well as the user-identifying information to thebilling server 17.

The billing server 17 maintains a billing policy (indicated with 17 a inFIG. 2) and identifies a billing policy for each user based on the userinformation obtained from the coordination server 14 (Step S16). Thebilling policy may, for example, set a low data communication fee formovie sites such as user YouTube, and a high data communication fee forother web sites. Thus, billing processing may be performed according tothe connection bandwidth and usage for each app for the user (Step S17).

According to the structure discussed above, communication control may beperformed with a different control bandwidth for each application evenwhen a plurality of applications are installed on a mobile informationterminal 3 for network information communication.

It should be mentioned that the present invention is not limited to theabove one embodiment, and that various changes and modifications can bemade without departing from the scope and spirit of the presentinvention.

First, in the above one embodiment, the connection bandwidth control ofthe terminal 3 was performed based on the application types which aredisplayed as active in foreground on the display screen 29 of theterminal 3 and which gained the user's attention, but the presentinvention is not so limited and, as shown in FIG. 15, may perform thebandwidth control based on the respective types of the plurality ofapplications 3 a, 3 b including applications running in the background.Control in this case will be discussed in detail below based on FIG. 15.

When an OS (e.g., Android®, etc.) of a mobile information terminal 3launches an application on the mobile information terminal 3, itactivates a process and outputs a unique process ID for eachapplication. This process ID is detected by the IP address and portnumber detecting module 25 of the app management software 50, based onwhich a process-based communication tagging module (indicated with 50 inFIG. 15) provides a tag to respective packets, wherein the tag is uniqueto each process number. This tag may be a process ID itself of the aboveembodiment, or may be an app name, or other identifiers associated withthe process ID. Thus, by tagging the respective packets, even during anidentical communication by an identical terminal 3, identification ofapplications sending packets becomes possible not only for applicationsrunning in foreground of the terminal 3, but also for ones running inbackground of the terminal 3 and sending packets. This connection isterminated by a detagging module 51 provided in the system 2 of the MVNOoperator, and the detagging module 51 is configured to delete the tagsafter the bandwidth control.

According to such a structure, even when a plurality of applications arecommunicating simultaneously on the terminal 3, the bandwidth controland preferential control may be performed based on different connectionpolicies for each connection. Specifically, in Step S7 of FIG. 6, theapp status change information acquisition module 36 receives statuschange information sent from the app management software 16 of themobile information terminal 3 through the app management softwarecommunication module 42. Similarly to the previous discussion, thisstatus information includes a tag provided based on the process ID foreach application (in the previous embodiment, an application name isoutput based on if the application is active), a domain name base, acoordinate location, app parameters, a process name, an IP address and aport number in use for the mobile information terminal 3. Next in StepS8, the communication bandwidth control policy setup section 38 sets acontrol bandwidth connection policy for each user/app based on thestatus change information. Note that tag-to-app name associations needsto be sent to the app-infrastructure coordination server 14 ahead oftime in order to be able to determine which app sent a particular packetbased on the packet's tag, but in this embodiment, the tag-to-app nameassociations are sent by the status change determination module 26.

According to the above structure, since an application which sent out aparticular packet may be identified based on a tag included in theparticular packet, the bandwidth control, for example, narrowing abandwidth or disconnecting a connection, may become possible not onlyfor apps displayed as active on the screen of the mobile informationterminal 3, but also for ones communicating in background of theterminal 3.

Note that, not only tagging for each application, but also allocation ofdifferent port numbers or different IP addresses (virtual IP address)may be performed to thereby establish a tunnel connection. This functionis executed by the tagging module, network stack functions 50. Accordingto such a structure, even when a plurality of applications arecommunicating simultaneously on the terminal 3, a communicationbandwidth for packets of each app may be individually controlled (by thebandwidth control or the preferential control). Note that, whendetermining a priorities among apps, it is performed with a connectionpolicy determined on the management server side. Also, in this case, thetunnel connection is established by the detagging module 51, whichdeletes the IP address and/or port number for each packet.

In yet another embodiment, the connection policy 34 is not limited tothe connection policy of the above embodiment, and other policies may bealso included. For example, as a data compression method executed by thecompression proxy server 19, specific image conversion methods or movieconversion methods may be provided as well. For example, an imageconversion may be configured so that, when a black and white conversionis employed, a high-resolution conversion will be also performed.

Further, in the above one embodiment, the bandwidth control function wasprovided through a method of allocating specific line speed values withthe bandwidth control, a preferential control (allocating relativepriorities instead of absolute line speed values) may be used in placeof the bandwidth control to provide this function.

Also, in the above one embodiment, the connection policy was directlyset to the bandwidth control router 8, but the present invention is notso limited. This may be performed indirectly, such as via the PGW 7.

Moreover, during operation of the bandwidth control communication (FIG.11) of the above one embodiment, when the remaining communication amountof the user/app-based communication bandwidth control and connectionpolicy 34 reaches the upper limit (1 GB in the YouTube example), thebandwidth control is reset to the default values (100 kbps) and thesethe default values are set to the control bandwidth server 8 (Step S14),but communication (routing) itself may be blocked.

What is claimed is:
 1. A non-transitory computer readable storagemedium, storing instructions of a service status change notificationprogram for causing a mobile information terminal to perform followingprocessing, wherein the service status change notification programcooperates with a bandwidth control system for dynamically changing acommunication bandwidth of the mobile information terminal according toa connection destination of a service that the mobile informationcommunication terminal uses, and said instructions cause the mobileinformation terminal to perform the steps of: (1) detecting a connectiondestination of a service that the mobile information terminal uses; (2)obtaining an IP address of the mobile information terminal for uniquelyidentifying the mobile information terminal on a communication network;(3) transmitting the connection destination of the service and the IPaddress of the mobile information terminal to the bandwidth controlsystem; and (4) generating a setting interface for setting, by a user, aconnection policy per user for the service, and transmitting theconnection policy set for the service with this interface to a bandwidthcontrol router via a connection environment management server, whereinsaid bandwidth control system comprises said connection environmentmanagement server and said bandwidth control router, and said connectionenvironment management server transmits said IP address of the mobileinformation terminal to said bandwidth control router; and wherein saidbandwidth control router transfers a packet from the identified mobileinformation terminal either with a preferential control or apredetermined communication bandwidth according to said connectionpolicy per user.
 2. The non-transitory computer readable storage mediumof claim 1, wherein said step of (1) further comprises the step ofdetecting a type of a service which is active on the mobile informationterminal.
 3. The non-transitory computer readable storage medium ofclaim 1, wherein said instructions further cause the mobile informationterminal to perform the steps of: detecting a geographical location ofthe mobile information terminal; and transmitting the geographicallocation of the mobile information terminal as well as the IP address ofthe mobile information terminal to the bandwidth control system.
 4. Thenon-transitory computer readable storage medium of claim 1, wherein theconnection environment management server looks up a table, which tablestoring therein types of services requiring a preferential connectionand a bandwidth control, and the services' respective connectionpolicies, retrieves a connection policy from the table according to thetype of a service, and transmits the connection policy to the bandwidthcontrol router.
 5. The non-transitory computer readable storage mediumof claim 1, wherein the connection policy includes a differentcommunication priority or communication bandwidth setting per specificservice.
 6. The non-transitory computer readable storage medium of claim1, wherein said instructions further cause the mobile informationterminal to perform the step of: generating a data communication amountdisplay interface for displaying to the user, data communication amountfor each service.
 7. The non-transitory computer readable storage mediumof claim 1, wherein the connection policy includes a different datacompression rate setting per specific service.
 8. The non-transitorycomputer readable storage medium of claim 7, wherein the datacompression rate of the connection policy includes a different dataconversion method setting per specific service.
 9. The non-transitorycomputer readable storage medium of claim 1, wherein the connectionpolicy includes a different setting of time frames and locationsavailable for communication per specific service.
 10. The non-transitorycomputer readable storage medium of claim 1, wherein a type of servicerequiring a preferential connection includes at least a service forvoice calls.
 11. A service status change notification method for causinga mobile information terminal to perform following processing, wherein aservice status change notification program cooperates with a bandwidthcontrol system for dynamically changing a communication bandwidth of themobile information terminal according to a connection destination of aservice that the mobile information terminal uses, and said methodcauses the mobile information terminal to perform the steps of: (1)detecting a connection destination of a service that the mobileinformation terminal uses; (2) obtaining an IP address of the mobileinformation terminal for uniquely identifying the mobile informationterminal on a communication network; (3) transmitting the connectiondestination of the service and the IP address of the mobile informationterminal to the bandwidth control system; and (4) generating a settinginterface for setting, by a user, a connection policy per user for theservice, and transmitting the connection policy set for the service withthis interface to a bandwidth control router via a connectionenvironment management server, wherein said bandwidth control systemcomprises said connection environment management server and saidbandwidth control router, and said connection environment managementserver transmits said IP address of the mobile information terminal tosaid bandwidth control router; and wherein said bandwidth control routertransfers a packet from the identified mobile information terminaleither with a preferential control or a predetermined communicationbandwidth according to said connection policy per user.
 12. The methodof claim 11, wherein said step (1) further comprises the step ofdetecting a type of a service which is active on the mobile informationterminal.
 13. The method of claim 11, wherein said method further causesthe mobile information terminal to perform the steps: detecting ageographical location of the mobile information terminal; andtransmitting the geographical location of the mobile informationterminal as well as the IP address of the mobile information terminal tothe bandwidth control system.
 14. The method of claim 11, wherein theconnection environment management server looks up a table, which tablestoring therein types of services requiring a preferential connectionand a bandwidth control, and the services' respective connectionpolicies, retrieves a connection policy from the table according to thetype of a service, and transmits the connection policy to the bandwidthcontrol router.
 15. The method of claim 11, wherein the connectionpolicy includes a different communication priority or communicationbandwidth setting per specific service.
 16. The method of claim 11,wherein said method further causes the mobile information terminal toperform the step of: generating a data communication amount displayinterface for displaying to the user, data communication amount for eachservice.
 17. The method of claim 11, wherein the connection policyincludes a different data compression rate setting per specific service.18. The method of claim 17, wherein the data compression rate of theconnection policy includes a different data conversion method settingper specific service.
 19. The method of claim 11, wherein the connectionpolicy includes a different setting of time frames and locationsavailable for communication per specific service.
 20. The method ofclaim 11, wherein a type of service requiring a preferential connectionincludes at least a service for voice calls.